package com.iwjw.ibatis.annotations;

import org.apache.ibatis.type.TypeHandler;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author weiwei.huang
 * @Time 2016/10/19
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {

    /**
     * 数据库映射的字段名称
     *
     * @return
     */
    String name() default "";

    /**
     * 自定义jdbcType
     *
     * @return
     */
    String jdbcType() default "";

    /**
     * 定义javaType
     *
     * @return
     */
    Class javaType() default Object.class;


    Class<? extends TypeHandler> typeHandler() default TypeHandler.class;

    /**
     * 是否为数据库字段
     *
     * @return
     */
    boolean exist() default true;

}
